MySQL-এ WHERE, ORDER BY, এবং LIMIT কন্ডিশনগুলি ডেটাবেসে ডেটা সিলেকশন, ফিল্টারিং, এবং সাজানোর জন্য ব্যবহৃত হয়। এগুলি খুবই শক্তিশালী এবং ব্যাপকভাবে ব্যবহৃত কন্ডিশন। নীচে তাদের ব্যবহার এবং কার্যকারিতা ব্যাখ্যা করা হলো।
1. WHERE কন্ডিশন
WHERE কন্ডিশনটি ডেটাবেস থেকে নির্দিষ্ট শর্ত অনুযায়ী ডেটা নির্বাচন করতে ব্যবহৃত হয়। এটি সাধারণত কুয়েরির ফলাফল ফিল্টার করার জন্য ব্যবহৃত হয়, যাতে শুধুমাত্র নির্দিষ্ট মান বা শর্ত অনুযায়ী ডেটা রিটার্ন করা হয়।
বেসিক সিনট্যাক্স:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
উদাহরণ:
- একটি কলামের নির্দিষ্ট মান অনুসারে ডেটা নির্বাচন:
SELECT * FROM employees
WHERE department = 'Sales';
এটি employees টেবিল থেকে শুধুমাত্র Sales ডিপার্টমেন্টের কর্মচারীদের তথ্য রিটার্ন করবে।
- কিছু শর্তের মধ্যে ডেটা নির্বাচন:
SELECT * FROM employees
WHERE salary > 50000 AND department = 'IT';
এটি employees টেবিল থেকে salary ৫০,০০০ এর বেশি এবং department 'IT' এর কর্মচারীদের রিটার্ন করবে।
- LIKE অপারেটর ব্যবহার:
SELECT * FROM customers
WHERE customer_name LIKE 'John%';
এটি customers টেবিল থেকে সমস্ত customer_name যেগুলো 'John' দিয়ে শুরু হয়, সেগুলো রিটার্ন করবে।
- IN অপারেটর ব্যবহার:
SELECT * FROM orders
WHERE order_id IN (1001, 1003, 1005);
এটি orders টেবিল থেকে order_id ১০০১, ১০০৩ এবং ১০০৫ রিটার্ন করবে।
2. ORDER BY কন্ডিশন
ORDER BY কন্ডিশনটি ডেটাবেসের রেকর্ডগুলো একটি নির্দিষ্ট কোলাম বা ক্ষেত্র অনুসারে সাজাতে ব্যবহৃত হয়। এটি ASC (Ascending) বা DESC (Descending) অর্ডারে সাজানোর জন্য ব্যবহার করা যায়।
বেসিক সিনট্যাক্স:
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column_name [ASC|DESC];
উদাহরণ:
- ASC (Ascending) অর্ডারে সাজানো:
SELECT * FROM employees
ORDER BY salary ASC;
এটি employees টেবিলের salary কলামকে ছোট থেকে বড় (অর্থাৎ ASC) সাজিয়ে রিটার্ন করবে।
- DESC (Descending) অর্ডারে সাজানো:
SELECT * FROM employees
ORDER BY salary DESC;
এটি employees টেবিলের salary কলামকে বড় থেকে ছোট (অর্থাৎ DESC) সাজিয়ে রিটার্ন করবে।
- একাধিক কলাম দিয়ে সাজানো:
SELECT * FROM employees
ORDER BY department ASC, salary DESC;
এটি প্রথমে department কলাম অনুযায়ী ASC অর্ডারে সাজাবে এবং একই department এর মধ্যে salary কলাম অনুযায়ী DESC অর্ডারে সাজাবে।
3. LIMIT কন্ডিশন
LIMIT কন্ডিশনটি কুয়েরি থেকে প্রদর্শিত রেকর্ডের সংখ্যা সীমাবদ্ধ করতে ব্যবহৃত হয়। এটি আপনাকে ডেটাবেসের ফলাফল সীমিত করতে সাহায্য করে, বিশেষ করে বড় ডেটাবেসে।
বেসিক সিনট্যাক্স:
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column_name [ASC|DESC]
LIMIT number_of_records;
উদাহরণ:
- নির্দিষ্ট সংখ্যক রেকর্ড নির্বাচন:
SELECT * FROM employees
LIMIT 5;
এটি employees টেবিল থেকে প্রথম ৫টি রেকর্ড রিটার্ন করবে।
- WHERE এবং ORDER BY এর সাথে LIMIT ব্যবহার:
SELECT * FROM employees
WHERE department = 'IT'
ORDER BY salary DESC
LIMIT 3;
এটি IT ডিপার্টমেন্টের প্রথম ৩টি সর্বোচ্চ বেতনপ্রাপ্ত কর্মচারী রিটার্ন করবে।
- OFFSET ব্যবহার:
SELECT * FROM employees
LIMIT 5 OFFSET 10;
এটি employees টেবিলের ১১ তম থেকে ১৫ তম রেকর্ড রিটার্ন করবে। এখানে OFFSET ব্যবহার করে প্রথম ১০টি রেকর্ড বাদ দেওয়া হয়েছে।
সারাংশ
- WHERE কন্ডিশনটি ডেটা ফিল্টার করার জন্য ব্যবহৃত হয়, যেখানে আপনি বিভিন্ন শর্ত অনুযায়ী রেকর্ড নির্বাচন করতে পারেন।
- ORDER BY কন্ডিশনটি ডেটা সাজানোর জন্য ব্যবহৃত হয়, যা আপনাকে ASC (Ascending) বা DESC (Descending) অর্ডারে সাজানোর সুবিধা দেয়।
- LIMIT কন্ডিশনটি ডেটা রিটার্নের সংখ্যা সীমিত করতে ব্যবহৃত হয়, যা বড় ডেটাবেসের ক্ষেত্রে খুবই উপকারী।
এই তিনটি কন্ডিশন একত্রে ব্যবহৃত হলে, আপনি অত্যন্ত নির্দিষ্ট ও কার্যকর কুয়েরি তৈরি করতে পারবেন, যা ডেটাবেস থেকে প্রয়োজনীয় তথ্য দ্রুত এবং সহজে বের করে আনবে।
Read more